home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / phpMyAdmin / lang / check_lang.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2004-06-28  |  2KB  |  63 lines

  1. #!/bin/sh
  2. # $Id: check_lang.sh,v 2.2 2004/06/29 08:20:47 nijel Exp $
  3. ##
  4. # Shell script to check that all language files are syncronized
  5. # Catches duplicate/missing strings
  6. #
  7. # Robin Johnson <robbat2@users.sourceforge.net>
  8. # August 9, 2002
  9. ##
  10.  
  11. MASTER="english-iso-8859-1.inc.php"
  12. TMPDIR="tmp-check"
  13. FILEPAT="*.inc.php"
  14. STRINGMATCH='^[[:space:]]*\$[[:alnum:]_]+[[:blank:]]+='
  15. IGNOREMATCH='strEncto|strKanjiEncodConvert|strXkana|allow_recoding'
  16.  
  17. if [ "`which diffstat`" = "" ] ; then
  18.     echo 'You need diffstat to use this!'
  19.     exit 1
  20. fi
  21.  
  22. rm -rf $TMPDIR
  23. mkdir -p $TMPDIR
  24.  
  25. # Build the list of variables in each file
  26. echo "Building data"
  27. for f in $FILEPAT;
  28. do
  29.     awk "/$STRINGMATCH/ && ! /$IGNOREMATCH/ { print \$1 }" $f | sort > $TMPDIR/$f
  30. done
  31.  
  32.  
  33. # Build the diff files used for checking
  34. # And if there are no differences, delete the empty files
  35. echo "Comparing data"
  36. for f in $FILEPAT;
  37. do
  38.     if [ ! $MASTER = $f ]; then
  39.         if diff -u $TMPDIR/$MASTER $TMPDIR/$f >$TMPDIR/$f.diff ; then
  40.             rm -f $TMPDIR/$f.diff $TMPDIR/$f
  41.         fi
  42.     fi
  43. done
  44.  
  45. # Cleanup
  46. rm -f $TMPDIR/$MASTER
  47.  
  48. # Build the nice difference table
  49. echo "Differences"
  50. diffstat -f 0 $TMPDIR/*.diff >$TMPDIR/diffstat 2>/dev/null
  51. echo "Dupe    Miss    Filename"
  52. head -n -1 $TMPDIR/diffstat | \
  53. while read filename sep change add plus sub minus edits exclaim; 
  54. do 
  55.     echo "$add    $sub    $filename"; 
  56. done
  57.  
  58. echo
  59. echo "Dupe = Duplicate Variables"
  60. echo "Miss = Missing Variables"
  61. echo "For exact problem listings, look in the $TMPDIR/ directory"
  62. echo "Please remember to remove '$TMPDIR/' once you are done"
  63.